Skip to main content

Resume

tip

The following design is an architecture proposal which can be modified or adapted.

Plataform Suggestion

tip

👉 Start from latest Spree Commerce vesion (4.6.2).
👉 Use Spree Starter Dockerize version.
👉 Use Spree Legacy frontend Gem.
👉 Use Spree Multi-Vendor Gem.\

Missing features:

warning

⚠️ Single Sing On (SSO) Gem (openid connect or SAML ?)
⚠️ Custom integration with Clave Unica, local Identity Provider (OpenID Connect)
⚠️ B2B logic.
⚠️ Custom Checkout Workflows
⚠️ Custom Catalog
⚠️ Custom Cart Management\

Logic Complexities

tip

👉 Cart should be related to SubOrganizations (aka "Destinatario").
👉 Cart logic will be different depending on the Type of Purchase.
👉 Product Catalog should be related to Type or Purchase (aka "Canal").
👉 Checkout workflow will be different depending on the Type of Purchase.\

Data Management

danger

⚠️ All Data will be provided by third party services APIs. User, Products, Vendors.
⚠️ We will probably need to implement different sicronization methods (daily, on the fly, etc).
⚠️ Each API has it's own authentication method, cache policies, etc. Maybe we should implement and API Gateway ?\

warning

In order to Dockerize the application, we need to save all assets (images) in an external storage, most probably a S3 bucket.

Queue Management

note

⚠️ In the Checkout flow, we will need to integrate with external services for purchase order creation, budget validation, etc. We need to implement a nice Queue flow for jobs management.